C-- specfication

Arash Rouhani rarash at student.chalmers.se
Sun May 4 18:54:25 UTC 2014


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/a7c0387d20c1c9994d1100b14fbb8fb4e28a259e
>> 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
>>



More information about the ghc-devs mailing list