C-- specfication

Simon Peyton Jones simonpj at microsoft.com
Mon May 5 08:49:38 UTC 2014


Thank you Arash!

Simon

| -----Original Message-----
| From: ghc-devs [mailto:ghc-devs-bounces at haskell.org] On Behalf Of Arash
| Rouhani
| Sent: 04 May 2014 19:54
| To: Andrew Farmer
| Cc: ghc-devs at haskell.org
| Subject: Re: C-- specfication
| 
| Hi Andrew,
| 
| Thanks for the encouragement! :)
| 
| I went ahead and updated the wiki and incorporated my links. I also gave
| some more guidelines for each link. [1]
| 
| Cheers,
| Arash
| 
| 
| 
| [1]: https://ghc.haskell.org/trac/ghc/wiki/Commentary/Rts/Cmm
| 
| On 2014-05-04 16:53, Andrew Farmer wrote:
| > Are all of these links collected on the GHC wiki somewhere? If not,
| > would you mind adding them?
| >
| > I, for one, appreciate a curated list of references like this!
| >
| > On Sat, May 3, 2014 at 5:33 AM, Arash Rouhani
| > <rarash at student.chalmers.se> wrote:
| >> (Sorry Florian, I forgot to "reply to list"!)
| >>
| >> Hi Florian!
| >>
| >> Forget Cminusminus.org, in my experience it seems to have diverged
| >> from the GHC version of Cminusminus.
| >>
| >> I would recommend these resources
| >>
| >> See the top of
| >> https://github.com/ghc/ghc/blob/master/compiler/cmm/CmmParse.y
| >> Be ready to occasionally look into
| >> https://github.com/ghc/ghc/blob/master/includes/Cmm.h
| >> Edward Yang's blog post is a must-read
| >> http://blog.ezyang.com/2013/07/no-grammar-no-problem/ (less than a
| >> year old) You can also get the big picture of Cmm from David Terei's
| bachelor thesis:
| >> https://davidterei.com/downloads/papers/terei:2009:honours_thesis.pdf
| >> 2 years ago, Simon Marlow extended the classical Cmm syntax to make
| >> it much
| >> nicer:
| >> https://github.com/ghc/ghc/commit/a7c0387d20c1c9994d1100b14fbb8fb4e28
| >> a259e The commentary (it is kinda outdated in my experience, but
| >> worth taking a look :)),
| >> https://ghc.haskell.org/trac/ghc/wiki/Commentary/Rts/Cmm and
| >> https://ghc.haskell.org/trac/ghc/wiki/Commentary/Compiler/CmmType
| >> Read the code! There's a lot of Cmm files and after looking at
| >> various parts of it for a while parts start to make sense :)
| >> Shameless plug: You might find sections 4.2 and 4.2.1 from my master
| >> thesis helpful to understand the difference between arguments and
| fields.
| >> http://arashrouhani.com/papers/master-thesis.pdf
| >>
| >> And it will take time to learn Cmm. The most unintuitive thing for me
| >> that took me a while to understand is that there are no function
| >> calls in "classical" cmm code. The newer syntax allows function calls
| >> but you should know that they are kind of magical. Hope this helps!
| >> :)
| >>
| >> (Sorry for giving so many reading references :p)
| >>
| >> Cheers,
| >> Arash
| >>
| >>
| >>
| >> On 2014-05-03 12:05, Florian Weimer wrote:
| >>
| >> I'm looking for a specification of C--.  I can't find it on the
| >> cminuscminus.org web site, and it's also not included in the release
| >> tarball.  Does anybody know where to get it?
| >> _______________________________________________
| >> ghc-devs mailing list
| >> ghc-devs at haskell.org
| >> http://www.haskell.org/mailman/listinfo/ghc-devs
| >>
| >>
| >>
| >> _______________________________________________
| >> ghc-devs mailing list
| >> ghc-devs at haskell.org
| >> http://www.haskell.org/mailman/listinfo/ghc-devs
| >>
| 
| _______________________________________________
| ghc-devs mailing list
| ghc-devs at haskell.org
| http://www.haskell.org/mailman/listinfo/ghc-devs


More information about the ghc-devs mailing list