Meta language supports APE #718
Replies: 1 comment 4 replies
-
That's remarkable. Thank you for sharing this.
One thing you can do, if Clang isn't installed on the user's PC, is you can embed cosmopolitan/third_party/chibicc/ which supports C11 and a great number of GCC extensions, however the code it compiles goes 2x slower since it currently doesn't have an optimizer. The missing piece though is we need a linker. So far we've built a compiler and assembler, but we should ideally have some kind of |
Beta Was this translation helpful? Give feedback.
-
When a customer of mine pointed me to APE, my jaw spent the next few days on the floor. I subsequently used it to compile my new programming language to PC targets, enabling me to cover all APE targets at once:
https://language.metaproject.frl
I have to admit that I ran a little experiment by not telling about APE at first. Hardly anyone remarked about why there were no separate binaries for different platforms. Almost everyone seems to give no thought to it, considering it natural, even in programmer circles.
Meta is a descendant of the REBOL language, which was itself inspired by Logo, Lisp and Forth. It's a young language, that I design to be adaptable, so it doesn't have the porting problems to APE of existing languages. It is developing together with APE and Cosmopolitan to implement features similar to REBOL and beyond.
Meta has multiple back-ends, but the default is to transpile to C, to have the widest possible reach. This makes it a good match to target APE and Cosmopolitan.
Instead of GCC, Meta uses CLang with APE, because GCC computes function arguments in reverse order. Using CLang produces a natural left-to-right evaluation order, compatible with REBOL.
Beta Was this translation helpful? Give feedback.
All reactions