On 14 July 2013 04:57, Jonathan S. Shapiro <[email protected]> wrote:
> I'm toying with some language ideas. BitC-the-first failed for various
> reasons, and I'm trying to work out how to get what I learned into a viable
> production language. At the moment I have a very mundane question, and I'd
> like input.

I've spent the last few weeks playing around with Idris.  When I first
grabbed the source, I grabbed the source for epivm, which it used as a
backend.  The website for the language still refers to epic as the
compiler it sits upon.  Closer inspection of the source revealed that
epic support had been removed, and it now targetted C and Java.  In
the time I've been playing with it, it grew support for LLVM.

It seems that, if you choose your internal low-level IR well, adding
an additional backend is not so difficult anyway.  If I were creating
a language, that's probably how I'd do it.  I'd create the IR I really
want, and then gradually, by replacing the target, build the thing I
want.  I would particularly like to take a closer look at LLVM: when
I've looked in the past I haven't found the sort of flexibility (in
things like function layout) that I've wanted, and I can never recall
if you can return unboxed structs from functions in it.  LLVM also
feels kind of large, and yet without the number of targets that GCC
has.

On the other hand, there's always the possibility of grabbing huge
chunks out of one of the other compilers, including some that target
machine code directly.  MLkit and V8 both have their features.  If you
need to support two or more target machines, though, that would mean
significant maintanence effort.

--
William Leslie

Notice:
Likely much of this email is, by the nature of copyright, covered
under copyright law.  You absolutely may reproduce any part of it in
accordance with the copyright law of the nation you are reading this
in.  Any attempt to deny you those rights would be illegal without
prior contractual agreement.
_______________________________________________
bitc-dev mailing list
[email protected]
http://www.coyotos.org/mailman/listinfo/bitc-dev

Reply via email to