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
