Compilers Targetting Parrot
wknight8111.blogspot.com
wknight8111.blogspot.com
If I'm compiling, what should I target?
I could target LLVM, C, some high-level compilable langauge, or now, Parrot.
There doesn't seem to be any cogent, clear, knowledgable discussion of the various features and merits. I suppose asking for one is like asking "which language is best," and the answer will always be "it depends."
Anything off the top of your head that you've been bit by?
A memory leak is one thing, but segfaults and assertion failures... Down to brass tacks: is this thing usable in its current state?
Experimentation and quick and dirty prototypes? Yes. Production code? No.
Gambit Scheme compiles via C and is one of the fastest Scheme systems around, with good interoperability via C. The Glassgow Haskell Compiler can also compile via C, but that's, AFAIK, an unmaintainable mess (search for "evil mangler").
Also: there are many more possible compilation targets than ones you list.
Hence my question, although it seems like this is the wrong audience/forum.
Maybe that's true, but I think that'd be the main concern of any compiler writer thinking of targeting it. It's not a mature platform with known pros and cons, unlike the JVM or LLVM.
I hope it all turns out for the best and Parrot delivers on its promises. But I can see why e.g. the PHP team isn't rushing to target it given the state of its native languages.
By comparison the Parrot project with the widest use is Rakudo, which is still just at a testing stage. Maybe there's some larger user of Parrot that I haven't heard about, so correct me if I'm wrong.
The URL to the benchmark script was broken so I couldn't run it.
Don't get me wrong, I think Parrot's very neat. But I could see why compiler implementors would be sceptical of it since it's not feature complete, and seemingly not very optimized. So there's a lot of unknowns.
One Bytecode to rule them all, One Bytecode to find them, One Bytecodeto bring them all and in the darkness bind them
:-)