(drop)CommonPrefix: ccs call implementation

2014-06-05 Thread Maarten Faddegon

Dear list,

I am reading up on cost centre stacks. Simon Marlow's solving an old 
problem-slides is the more recent resource I could find. On slide 43 he 
describes a call function implemented as:



call Sapp Slam = foldr push Spre Slam’
where (Spre, Sapp’, Slam’) = commonPrefix Sapp Slam


However in rts/profiling.c the following is written:


   Set CCCS when entering a function.

   The algorithm is as follows.

 ccs ++ ccsfn  =  ccs ++ dropCommonPrefix ccs ccsfn

   where

 dropCommonPrefix A B
-- returns the suffix of B after removing any prefix common
-- to both A and B.

   e.g.

 a,b,c ++   = a,b,c
 a,b,c ++ d = a,b,c,d
 a,b,c ++ a,b   = a,b,c
 a,b   ++ a,b,c = a,b,c
 a,b,c ++ a,b,d = a,b,c,d


For the given examples Simon's proposal would result in different 
stacks: , d,  a,b, a,b,c and a,b,d.
Has the implementation changed since Simon Marlow gave his talk? If so, 
is there something I can read on the motivation behind this change? Or 
do I maybe misinterpret the slides?


Thank you,

Maarten Faddegon
___
ghc-devs mailing list
ghc-devs@haskell.org
http://www.haskell.org/mailman/listinfo/ghc-devs


Status updates

2014-06-05 Thread Austin Seipp
Hello all,

A cumulative status update will now appear, to summarize a few things
that have happened in the past little while since I've been somewhat
absent and short on time.

 - 7.8.3 is looming, because we have a lot of bugfixes as I said last
week: https://ghc.haskell.org/trac/ghc/wiki/Status/GHC-7.8.3

 That's nearly 30 tickets axed in the past few weeks since 7.8.2, so
not bad! As I said before, I'm eager to release sooner rather than
later as my time is short. Do keep weighing in if you have anything to
say or want something fixed. Now is really the time!

 - AMP/ORF - these are still on branches, but me and Simon have gotten
hung up on a few things delaying it. They'll go in soon, promise! (For
certain definitions of 'soon', cooperating with time schedules). AMP
in particular can probably land very, very soon.

  Otherwise we're past a lot of other churn, like removing external
core and whatnot.

 - I merged a bunch of patches this morning to the 7.8 branch,
bringing it close to what I expect we will ship 7.8.3 with. Again,
pester me soon if you want something!

 - There's now a proper CI link for GHC on Trac so people don't lose
it. The new builders are checking in regularly, so please watch out
for them - and subscribe to ghc-bui...@haskell.org if you haven't
already.

 - Some other churn in the tree has not yet passed; I still need to
improve and land my performance patches for copies, for example.

 - XCode 5.1 has introduced some other breaking changes I'll need to
fix (things *work*, but the testsuite is useless due to the warning
spewage), along with merging the remaining patches.

 - Also, if you have spare hardware, please email Gabor Pali (or just
email the list itself, or reply to this thread) if you're willing to
donate, that would be awesome. Another Mac OS X target would be
especially welcome, I think (my development machine is on loan right
now), and I will have better dedicated Windows targets soon.

I'll send another email about 7.8.3 shortly.

-- 
Regards,

Austin Seipp, Haskell Consultant
Well-Typed LLP, http://www.well-typed.com/
___
ghc-devs mailing list
ghc-devs@haskell.org
http://www.haskell.org/mailman/listinfo/ghc-devs


RE: Status updates

2014-06-05 Thread Simon Peyton Jones
|  - 7.8.3 is looming, because we have a lot of bugfixes as I said last
| week: https://ghc.haskell.org/trac/ghc/wiki/Status/GHC-7.8.3

Just to be clear, on that page:
  closed = done in 7.8.3 branch
  patch  = will go in 7.8.3 branch
  new/infoneeded = will NOT go in 7.8.3 unless you yell loudly and soon
   and argue for delay to get it in

|  - There's now a proper CI link for GHC on Trac so people don't lose it.
| The new builders are checking in regularly, so please watch out for them
| - and subscribe to ghc-bui...@haskell.org if you haven't already.

Where exactly is the link?  (Ie not what is the link but where on Trac is it 
posted?)

Simon
___
ghc-devs mailing list
ghc-devs@haskell.org
http://www.haskell.org/mailman/listinfo/ghc-devs


Re: Status updates

2014-06-05 Thread Austin Seipp
Drats, I forgot that. Here's where it is:

Go to the GHC Trac hompeage: https://ghc.haskell.org/trac/ghc/ and
scroll down just a tiny bit. There's a section called 'Nightly builds'
with the updated link to the new UI, located on Gabor's server:
http://haskell.inf.elte.hu/builders/

Simon, did we talk about adding this to the sidebar? Or maybe we
should just highlight it on the front page a little more, and then
link to it from somewhere else on the sidebar (like Building Guide
links to the builder page).

On Thu, Jun 5, 2014 at 8:35 AM, Simon Peyton Jones
simo...@microsoft.com wrote:
 |  - 7.8.3 is looming, because we have a lot of bugfixes as I said last
 | week: https://ghc.haskell.org/trac/ghc/wiki/Status/GHC-7.8.3

 Just to be clear, on that page:
   closed = done in 7.8.3 branch
   patch  = will go in 7.8.3 branch
   new/infoneeded = will NOT go in 7.8.3 unless you yell loudly and soon
and argue for delay to get it in

 |  - There's now a proper CI link for GHC on Trac so people don't lose it.
 | The new builders are checking in regularly, so please watch out for them
 | - and subscribe to ghc-bui...@haskell.org if you haven't already.

 Where exactly is the link?  (Ie not what is the link but where on Trac is 
 it posted?)

 Simon




-- 
Regards,

Austin Seipp, Haskell Consultant
Well-Typed LLP, http://www.well-typed.com/
___
ghc-devs mailing list
ghc-devs@haskell.org
http://www.haskell.org/mailman/listinfo/ghc-devs


Re: 7.8.3 release - please speak up soon.

2014-06-05 Thread Jens Petersen
On 5 June 2014 23:37, Gergely Risko gerg...@risko.hu wrote:

 It seems reasonable to just make terminfo, haskeline and xhtml visible
 to the users from the ghc included packagedb.  What can possible go
 wrong? :)


+1
I am planning to do this anyway in the Fedora package [1]
and haven't encountered any problems yet (with [2]).

But if It is too late, I would suggest doing it for 7.10 anyway

Jens.

[1] I attached the simple patch to the ticket now.
[2]
http://copr-be.cloud.fedoraproject.org/results/petersen/ghc-7.8/fedora-20-x86_64/ghc-7.8.2-33.3.fc20/
___
ghc-devs mailing list
ghc-devs@haskell.org
http://www.haskell.org/mailman/listinfo/ghc-devs


can a StgRhs have NoCCS when -prof is provided?

2014-06-05 Thread Ömer Sinan Ağacan
Hi all,

Can a StgRhs have `NoCCS` as cost-centre stack when -prof is provided
while compiling? Or is it always oneOf [CurrentCCS, DontCareCCS,
SingletonCCS]?

I presume that since we have CCS constructor DontCareCCS and CCS
field of StgRhs constructors are not `Maybe CostCentreStack` (so
they're not optional), when -prof is provided CCS fields should not be
filled with NoCCS(if we still don't care about CCS for some reason, it
should be DontCareCCS) but I just wanted to make sure.

Thanks.

---
Ömer Sinan Ağacan
http://osa1.net
___
ghc-devs mailing list
ghc-devs@haskell.org
http://www.haskell.org/mailman/listinfo/ghc-devs


Re: 7.8.3 release - please speak up soon.

2014-06-05 Thread Sergei Trofimovich
On Thu, 05 Jun 2014 16:37:36 +0200
Gergely Risko gerg...@risko.hu wrote:

 Probably I'm very late, and the Nix guys can hopefully workaround this
 on their own side, but can you take a quick look on:
   https://ghc.haskell.org/trac/ghc/ticket/8919

Hia!

Can you write what problems are to ship those libraries in it's current form?
Do you have some linking problems or something?

Ticket does not describe any actual problems.

Thanks!

-- 

  Sergei


signature.asc
Description: PGP signature
___
ghc-devs mailing list
ghc-devs@haskell.org
http://www.haskell.org/mailman/listinfo/ghc-devs


Re: can a StgRhs have NoCCS when -prof is provided?

2014-06-05 Thread Edward Z . Yang
Yes, I think all NoCCS are removed in the SCCfinal pass.  NoCCS
is a convenient thing to fill in when STG is initially created.

Edward

Excerpts from Ömer Sinan Ağacan's message of 2014-06-05 09:59:36 -0700:
 Hi all,
 
 Can a StgRhs have `NoCCS` as cost-centre stack when -prof is provided
 while compiling? Or is it always oneOf [CurrentCCS, DontCareCCS,
 SingletonCCS]?
 
 I presume that since we have CCS constructor DontCareCCS and CCS
 field of StgRhs constructors are not `Maybe CostCentreStack` (so
 they're not optional), when -prof is provided CCS fields should not be
 filled with NoCCS(if we still don't care about CCS for some reason, it
 should be DontCareCCS) but I just wanted to make sure.
 
 Thanks.
 
 ---
 Ömer Sinan Ağacan
 http://osa1.net
___
ghc-devs mailing list
ghc-devs@haskell.org
http://www.haskell.org/mailman/listinfo/ghc-devs


Re: Status updates

2014-06-05 Thread 山本和彦
Hi,

  - Also, if you have spare hardware, please email Gabor Pali (or just
 email the list itself, or reply to this thread) if you're willing to
 donate, that would be awesome. Another Mac OS X target would be
 especially welcome, I think (my development machine is on loan right
 now), and I will have better dedicated Windows targets soon.

I have one Mac Pro to build GHC. But it is behind a firewall.
Is this useful for this purpose?

--Kazu
___
ghc-devs mailing list
ghc-devs@haskell.org
http://www.haskell.org/mailman/listinfo/ghc-devs


Re: Status updates

2014-06-05 Thread Carter Schonwald
I can build on my Mac.  Happy to do so since I'll be doing anyways :-)

On Thursday, June 5, 2014, Kazu Yamamoto k...@iij.ad.jp wrote:

 Hi,

   - Also, if you have spare hardware, please email Gabor Pali (or just
  email the list itself, or reply to this thread) if you're willing to
  donate, that would be awesome. Another Mac OS X target would be
  especially welcome, I think (my development machine is on loan right
  now), and I will have better dedicated Windows targets soon.

 I have one Mac Pro to build GHC. But it is behind a firewall.
 Is this useful for this purpose?

 --Kazu
 ___
 ghc-devs mailing list
 ghc-devs@haskell.org javascript:;
 http://www.haskell.org/mailman/listinfo/ghc-devs

___
ghc-devs mailing list
ghc-devs@haskell.org
http://www.haskell.org/mailman/listinfo/ghc-devs


RFC: Phabricator for patches and code review

2014-06-05 Thread Austin Seipp
Hello all,

Recently, while doing server maintenance, several of the
administrators for Haskell.org set up an instance of Phabricator[1],
located at https://phabricator.haskell.org

For those who aren't aware, Phabricator (or Phab) is a suite of
tools for software development. Think of it like a polished,
semi-private GitHub with a lot of applications and tools for all kinds
of needs. We've been using it to do issue tracking for Haskell.org
maintenance and like it a lot so far.

One very nice aspect of Phabricator though is it has a very nice code
review tool, called 'Differential', that is very useful. For people
who have used a tool like Review Board, it's similar. Furthermore, it
has a very convenient userland tool called 'Arcanist' which makes it
easy for newcomers to post a review and get it merged when it's ready
all from the command line.

I'd like to see if people are interested in using Phab _strictly_ for
code review of GHC patches. It is a dedicated tool specifically for
this, and I think it works much better than Trac or inline GitHub
comments.

Also, Phab can also support post-commit reviews. So if I touch
something in the runtime system and just push, perhaps Simon or Edward
would like to look, and they can be alerted right when I do this, and
then yell if I did something stupid.

Before I go much further, I'd like to ask: is there *any* interest in
this? Or are people satisifed with Trac? The primary motivations are
roughly, in no particular order:

 1) Code review is good for everyone, a good way for people to learn
the code and ask questions, and useful to give feedback to newcomers.
And even experienced GHC hackers can learn things from reading code,
as we all do regularly, or find things that need cleanup.

 2) Phabricator in particular makes it very easy to submit patches for
review. To submit a patch, I just run the command 'arc diff' and it
Does The Right Thing. It also makes it easy to ensure people are
*alerted* when a patch might be relevant to them.

 3) They can be uploaded and created from the command line, and merged
easily afterwords the same way. This is particularly useful for
newcomers, and for me. :)

 4) Differential is dedicated to code review, and much better at it
than just reading patches on Trac IMO.

 5) It supports both post-commit code review, as well as pre-commit
review. Post commit would be especially useful for us too, I think.

Point #2 and #3 are mostly relevant for me, because I mostly handle
incoming patches. But I think in general it would be nice, and make it
a lot easier for newcomers to submit patches, and us to look over
them.

Here's an example of a Differential code review:

https://phabricator.haskell.org/D4

This is a demo using my 'wip/ermsb' patch. You'll need to create an
account to login, but it shouldn't be much trouble, you can login
several ways. I'll fix the login requirement soon. Feel free to read
the code, comment on it, and play around. It's more of a
demonstration, but real code review would be welcome too. :)

If people are interested in doing this, I can add notes to the wiki
pages for newcomers, and I'll send another email about Phab so people
can understand it a little better. But I want to ask first.

There is an argument that our team is so small, code review has
unnecessary burdens. But I think Phab could help a lot with tracking
outside patches and getting good reviews for incoming patches, and
it'll make it easier for newcomers. And experienced pros can probably
learn a thing as well.

Again, to be clear, I don't propose we migrate anything to Phabricator
from, say, Trac. There's no real pressure to do so and it would be
tons of work. I only propose we use it for code review, which is
perfectly fine, and how other projects like LLVM do code review (they
use Bugzilla).

I also don't think the usage of Phabricator should be mandatory
(unless we decide that later because we like it), but I would like to
see people use it if possible.

[1] http://phabricator.org

-- 
Regards,

Austin Seipp, Haskell Consultant
Well-Typed LLP, http://www.well-typed.com/
___
ghc-devs mailing list
ghc-devs@haskell.org
http://www.haskell.org/mailman/listinfo/ghc-devs


Re: RFC: Phabricator for patches and code review

2014-06-05 Thread Carter Schonwald
while i'm a novice at using ANY code review tools, having some persistent
tooling for patch reviews would be really great! theres a lot of good
feedback that otherwise only exists in an email somewhere!


On Fri, Jun 6, 2014 at 12:05 AM, Austin Seipp aus...@well-typed.com wrote:

 Hello all,

 Recently, while doing server maintenance, several of the
 administrators for Haskell.org set up an instance of Phabricator[1],
 located at https://phabricator.haskell.org

 For those who aren't aware, Phabricator (or Phab) is a suite of
 tools for software development. Think of it like a polished,
 semi-private GitHub with a lot of applications and tools for all kinds
 of needs. We've been using it to do issue tracking for Haskell.org
 maintenance and like it a lot so far.

 One very nice aspect of Phabricator though is it has a very nice code
 review tool, called 'Differential', that is very useful. For people
 who have used a tool like Review Board, it's similar. Furthermore, it
 has a very convenient userland tool called 'Arcanist' which makes it
 easy for newcomers to post a review and get it merged when it's ready
 all from the command line.

 I'd like to see if people are interested in using Phab _strictly_ for
 code review of GHC patches. It is a dedicated tool specifically for
 this, and I think it works much better than Trac or inline GitHub
 comments.

 Also, Phab can also support post-commit reviews. So if I touch
 something in the runtime system and just push, perhaps Simon or Edward
 would like to look, and they can be alerted right when I do this, and
 then yell if I did something stupid.

 Before I go much further, I'd like to ask: is there *any* interest in
 this? Or are people satisifed with Trac? The primary motivations are
 roughly, in no particular order:

  1) Code review is good for everyone, a good way for people to learn
 the code and ask questions, and useful to give feedback to newcomers.
 And even experienced GHC hackers can learn things from reading code,
 as we all do regularly, or find things that need cleanup.

  2) Phabricator in particular makes it very easy to submit patches for
 review. To submit a patch, I just run the command 'arc diff' and it
 Does The Right Thing. It also makes it easy to ensure people are
 *alerted* when a patch might be relevant to them.

  3) They can be uploaded and created from the command line, and merged
 easily afterwords the same way. This is particularly useful for
 newcomers, and for me. :)

  4) Differential is dedicated to code review, and much better at it
 than just reading patches on Trac IMO.

  5) It supports both post-commit code review, as well as pre-commit
 review. Post commit would be especially useful for us too, I think.

 Point #2 and #3 are mostly relevant for me, because I mostly handle
 incoming patches. But I think in general it would be nice, and make it
 a lot easier for newcomers to submit patches, and us to look over
 them.

 Here's an example of a Differential code review:

 https://phabricator.haskell.org/D4

 This is a demo using my 'wip/ermsb' patch. You'll need to create an
 account to login, but it shouldn't be much trouble, you can login
 several ways. I'll fix the login requirement soon. Feel free to read
 the code, comment on it, and play around. It's more of a
 demonstration, but real code review would be welcome too. :)

 If people are interested in doing this, I can add notes to the wiki
 pages for newcomers, and I'll send another email about Phab so people
 can understand it a little better. But I want to ask first.

 There is an argument that our team is so small, code review has
 unnecessary burdens. But I think Phab could help a lot with tracking
 outside patches and getting good reviews for incoming patches, and
 it'll make it easier for newcomers. And experienced pros can probably
 learn a thing as well.

 Again, to be clear, I don't propose we migrate anything to Phabricator
 from, say, Trac. There's no real pressure to do so and it would be
 tons of work. I only propose we use it for code review, which is
 perfectly fine, and how other projects like LLVM do code review (they
 use Bugzilla).

 I also don't think the usage of Phabricator should be mandatory
 (unless we decide that later because we like it), but I would like to
 see people use it if possible.

 [1] http://phabricator.org

 --
 Regards,

 Austin Seipp, Haskell Consultant
 Well-Typed LLP, http://www.well-typed.com/
 ___
 ghc-devs mailing list
 ghc-devs@haskell.org
 http://www.haskell.org/mailman/listinfo/ghc-devs

___
ghc-devs mailing list
ghc-devs@haskell.org
http://www.haskell.org/mailman/listinfo/ghc-devs