<story><title>C--</title><url>http://www.cminusminus.org/</url></story><parent_chain></parent_chain><comment><author>carterschonwald</author><text>Hey everyone,
 I&amp;#x27;d like to point out that the c-- domain is no longer cminusminus.org, the historical site can be found on norman ramsey&amp;#x27;s homepage here &lt;a href=&quot;http://www.cs.tufts.edu/~nr/c--/&quot; rel=&quot;nofollow&quot;&gt;http:&amp;#x2F;&amp;#x2F;www.cs.tufts.edu&amp;#x2F;~nr&amp;#x2F;c--&amp;#x2F;&lt;/a&gt; ! It also has actual reading material &amp;#x2F; papers!&lt;p&gt;The cminusminus domain is no longer valid (though it has more modern CSS), also it lacks links to all the informative papers!&lt;p&gt;C-- is very similar overall to LLVM IR, though there are crucial differences, but overall you could think of them as equivalent representations you can map between trivially (albeit thats glossing over some crucial details).&lt;p&gt;In fact, a few people have been mulling the idea of writing a LLVM IR frontend that would basically be a C-- variant. LLVM IR has a human readable format, but its not quite a programmer writable format!&lt;p&gt;C-- is also the final rep in the ghc compiler before code gen (ie the &amp;quot;native&amp;quot; backend, the llvm backend, and the unregisterized gcc C backend).&lt;p&gt;theres probably a few other things I could say, but that covers the basics. I&amp;#x27;m also involved in GHC dev and have actually done a teeny bit of work on the c-- related bits of the compiler.&lt;p&gt;relatedly: i have a few toy C-- snippets you can compile and benchmark using GHC, in a talk I gave a few months ago &lt;a href=&quot;https://bitbucket.org/carter/who-ya-gonna-call-talk-may-2013-ny-haskell&quot; rel=&quot;nofollow&quot;&gt;https:&amp;#x2F;&amp;#x2F;bitbucket.org&amp;#x2F;carter&amp;#x2F;who-ya-gonna-call-talk-may-2013...&lt;/a&gt; &lt;a href=&quot;https://vimeo.com/69025829&quot; rel=&quot;nofollow&quot;&gt;https:&amp;#x2F;&amp;#x2F;vimeo.com&amp;#x2F;69025829&lt;/a&gt;&lt;p&gt;I should also add that C-- in GHC &amp;lt;= 7.6 doesn&amp;#x27;t have function arguments, but in GHC HEAD &amp;#x2F; 7.7 and soon 7.8, you can have nice function args in the C-- functions. See &lt;a href=&quot;https://github.com/ghc/ghc/blob/master/rts/PrimOps.cmm&quot; rel=&quot;nofollow&quot;&gt;https:&amp;#x2F;&amp;#x2F;github.com&amp;#x2F;ghc&amp;#x2F;ghc&amp;#x2F;blob&amp;#x2F;master&amp;#x2F;rts&amp;#x2F;PrimOps.cmm&lt;/a&gt; for GHC HEAD examples, vs  &lt;a href=&quot;https://github.com/ghc/ghc/blob/ghc-7.6/rts/PrimOps.cmm&quot; rel=&quot;nofollow&quot;&gt;https:&amp;#x2F;&amp;#x2F;github.com&amp;#x2F;ghc&amp;#x2F;ghc&amp;#x2F;blob&amp;#x2F;ghc-7.6&amp;#x2F;rts&amp;#x2F;PrimOps.cmm&lt;/a&gt; for the old style.</text></comment>
<story><title>C--</title><url>http://www.cminusminus.org/</url></story><parent_chain></parent_chain><comment><author>peapicker</author><text>When I first entered college in 1988 there was a small DOS compiler floating around called C-- back then, which I got from some BBS (yes, a BBS, how antiquated!), probably in 1989.  It was a mix of a subset of C and proto-assembly.  I have looked for it a few times over the years, and this one isn&amp;#x27;t it, although it has some similar ideas.  It makes me wonder how many other little-known C-- projects there are.</text></comment>