Hi Cosmin, Thanks for the kind words. I am glad you appreciate it! We've done a bit of work on things like switching memory layouts (e.g. 6.3.2 of http://terralang.org/pldi071-devito.pdf) in Terra, but I am sure there is more to done.
-- Zach On Sun, May 24, 2015 at 1:40 PM, Cosmin Apreutesei < [email protected]> wrote: > Hi, > > Just dropping by to say kudos for Terra! > > I know it was announced 2 years ago but I couldn't go much into it > back then, so I've only read the "Design of Terra" paper today and I > was very impressed with how much thought it was put into it, including > leveraging the right combination of technologies (LLVM and LuaJIT's > FFI) to make it happen. > > I also read the feedback from the Lua and LuaJIT mailing lists and > from HackerNews and I was kinda disappointed by the reactions. Well, > it's not something instantly grok'able I guess... For me it was the > following paragraph from the paper that put things together once and > for all in my brain: > > "it is possible to think of every statically-typed language as a > meta-program containing multiple languages. One language, at the top > level, instantiates entities like types, function definitions, > classes, and methods. Another language in the body of functions > defines the runtime behavior. The top-level language “evaluates” when > the compiler for that language is run producing a second stage > containing the actual program." > > That is a powerful mental model for thinking about static languages, > so now I have a lot to think about :) Thank you for that. > > Regards, > Cosmin. > > > PS: Jonathan Blow (an indie game programmer) is currently designing a > C-level language with cache-friendly properties (eg. allows switching > memory layouts between array-of-structs and struct-of-arrays, etc.). > It would be interesting to see how much can Terra be augmented with > such features until reaching the breaking point where new syntax needs > to be introduced to support them. Incidentally, his language also > contains a Turing-complete top-level language (per your multi-language > model) which is the same language as the one which is compiled (so > more like Metalua or LISP's macro system but for a low-level > language). > _______________________________________________ > terralang mailing list > [email protected] > https://mailman.stanford.edu/mailman/listinfo/terralang >
_______________________________________________ terralang mailing list [email protected] https://mailman.stanford.edu/mailman/listinfo/terralang
