[M3devel] higher level m3cg?

Mika Nystrom mika at async.caltech.edu
Wed Aug 22 13:00:48 CEST 2012


In fairness, doesn't "C as target language" work OK for Pascal (p2c)
and Fortran 77 (f2c)?


    Mika

"Dirk Muysers" writes:
>This is a multi-part message in MIME format.
>
>------=_NextPart_000_0018_01CD7F9F.8021D180
>Content-Type: text/plain;
>	charset="iso-8859-1"
>Content-Transfer-Encoding: quoted-printable
>
>*** A warning ***
>Norman Ramsey's opinion (in stackoverflow) on possible compiler =
>backends:
>
>Code generation is my business :-)
>
>Comments on a few options:
>
>  a.. CLR:=20
>
>    a.. Pro: industrial support=20
>    b.. Con: you have to buy into their type system pretty much =
>completely; depending on what you want to do with types, this may not =
>matter=20
>    c.. Con: Only Windows platform is really prime-time quality
>  b.. LLVM:
>
>    a.. Pro: enthusiastic user community with charismatic leader=20
>    b.. Pro: serious backing from Apple=20
>    c.. Pro: many interesting performance improvements=20
>    d.. Con: somewhat complex interface=20
>    e.. Con: history of holes in the engineering; as LLVM matures expect =
>the holes in the engineering to be plugged by adding to the complexity =
>of the interface
>  c.. C--
>
>    a.. Pro: target is an actual written language, not an API; you can =
>easily inspect, debug, and edit your C-- code=20
>    b.. Pro: design is reasonably mature and reasonably clean=20
>    c.. Pro: supports accurate garbage collection=20
>    d.. Pro: most users report it is very easy to use=20
>    e.. Con: very small development team=20
>    f.. Con: as of early 2009, supports only three hardware platforms =
>(x86, PPC, ARM)=20
>    g.. Con: does not ship with a garbage collector=20
>    h.. Con: project has no future
>  d.. C as target language
>
>    a.. Pro: looks easy=20
>    b.. Con: nearly impossible to get decent performance=20
>    c.. Con: will drive you nuts in the long run; ask the long line of =
>people who have tried to compile Haskell, ML, Modula-3, Scheme and more =
>using this technique. At some point every one of these people gave up =
>and built their own native code generator.
>Summary: anything except C is a reasonable choice. For the best =
>combination of flexibility, quality, and expected longevity, I'd =
>probably recommend LLVM.
>
>Full disclosure: I am affiliated with the C-- project.
>
>=20



More information about the M3devel mailing list