On 2011-04-04, at 7:26 AM, Mikael More wrote:
Dear Marc,
Tachyon is a really cool project. I've given it some thoughts, and I just wanted to share this with you, if of value as feedback.
Does Tachyon support implementation of getters/setters of properties? Web browsers' javascript implementations tend to have a notation for some variables in the style of that "document.title = 'abc';" is actually executed as 'document.titleSetter('abc');".
Does it support Javascript's prototypes object model?
The goal is to implement all the ECMAScript standard in Tachyon. Currently getters and setters are not implemented, but that will come soon. The JS object model is implemented (at least 99.9% of it).
Does Tachyon implement tail recursons (and thus break the Ecmascript standard at a really unimportant point) or does it not? http://code.google.com/p/v8/issues/detail?id=457 describes how this is against standard. I believe I've never seen that feature used in JS code.
Proper tail calls are part of ES.next and we intend on implementing them.
It'd be great with a (tachyon:js->scheme string/port) => scheme-code-sexp .
Note that Tachyon is a self-hosted compiler which compiles to native code (x86). Don't confuse it with the js2scm tool that I wrote using the Tachyon parser... They don't share much more than the parser.
Re standard library, V8 is under the BSD license and I believe its standard library is written in JS only, if not making a new one maybe that one could be used.
Yes we have thought of that and we will look into the V8 stdlib some more. Independently we have started writing our own for simple stuff (stings, arrays), but some of the trickier things we way steal some of the V8 code.
Maaybe potentially it'd be great to have the ability to put hooks on object allocations, so the hosting app gets the last word about RAM use.
Such a functionality may be implemented as part of our profiling infrastructure.
Marc