Re: [C--] C-- development

Hendrik Boom <[email protected]> Wed, 13 Mar 2013 18:47:47 +0000 (UTC)
Newsgroups gmane.comp.lang.c--
Message-ID <[email protected]>
On Wed, 13 Mar 2013 12:44:12 -0400, doug moen wrote:

> From my outsider perspective, it appears that C-- is moribund until
> someone picks it up again. However, I also think that, rather than
> starting from the current C-- code base, it would be better to migrate
> the distinctive features of C-- into the LLVM project. Then, if you
> like, the C-- syntax could continue to be supported by writing a C--
> compiler with an LLVM back end. But you could get the benefits of C--
> semantics for your back end without generating C-- syntax, because those
> semantics would be part of LLVM. I'm not pretending this would be easy.
> But if it could be done, it would be the best way to bring the
> innovative ideas in C-- into the mainstream. I'll also note that the C--
> project was originally based on the design of the GHC (Haskell Compiler)
> back end, which has an intermediate language called C-- or Cmm. GHC also
> supports LLVM as an alternative back end, and I believe there are people
> in the GHC community who would gladly abandon the maintenance of the Cmm
> backend if LLVM were extended to do everything that Cmm does.
> 
> Doug Moen.

But C-- is a far more elegant language.  It corresponds closely to what I 
consider a decent interface between a compiler and a code generator.  LLVM 
is too committed to a particular high-level model for me.  I need to do 
unscaled address arithmetic.  LLVM gives me C array subscripting 
instead.  Algol 68 array elements are not necessarily spaced apart by a 
multiple of the size of an element.  Granted, I could get around this by 
an flurry of casts, but it's ugly.  Tail recursion is there only subject 
to various restrictions.  And there's also a Haskell procedure call 
that's documented only as the kind of call that Haskell needs.  What kind 
of call *is* that?

At least, that's what I remember from the last time I read the docs.  
Altogether it seems I'd be fighting LLVM more than using it.  If I were 
going in  that direction, I can use C as object code instead.

-- hendrik

> 
> On 13 March 2013 11:49, Hendrik Boom <[email protected]> wrote:
>> Has development on C-- ceased?  Or just stalled for a few years?
>>
>> I notice in there seems to be files in qc--20090627/src with makes
>> starting with 'mips' and 'alpha' and 'ia64'.  Does this imply that
>> these architecures are actually supported?  Or are they still under
>> development and stalled along with the rest of the system.
>>
>> Is  IA64 the Itanium?  Or is it what Debian calls AMD64, the 64-bit
>> extension to Intel's traditional 32-bit archtecture?
>>
>> Is there other source code for C-- lying around somewhere that isn't in
>> the destributed package?
>>
>> If I were to want to use it on, say, an ARM machine, would I have to do
>> it myself?
>>
>> Would it be better to continue on from qc--, or better to start from
>> scratch?  Are there lessons to be learned from the qc-- experience I'd
>> better find out about before I even think of  doing this (and maybe
>> think better of it and find another worthy project?)
>>
>> -- hendrik
>>
>> _______________________________________________
>> Cminusminus mailing list [email protected]
>> https://lists.eecs.harvard.edu/mailman/listinfo/cminusminus
> _______________________________________________
> Cminusminus mailing list [email protected]
> https://lists.eecs.harvard.edu/mailman/listinfo/cminusminus


_______________________________________________
Cminusminus mailing list
[email protected]
https://lists.eecs.harvard.edu/mailman/listinfo/cminusminus