HNHacker News
TopNewBestAskShowJobs

bartqk

48 karma · joined June 21, 2015

submissionscomments
bartqk··on MetaES – JavaScript in JavaScript interpreter
certainly, after there's a better API for completions and evaluations created. Will be easy to write plugins then.
bartqk··on MetaES – JavaScript in JavaScript interpreter
Indeed MetaES may be a way to pave a path to new kind of development. Bret Victor's work, LightTable, Swift Playground and others proved that small improvements are possible. I believe though, that next bigger step requires new fundamentals and metacircular interpretation plus smart IDE and partial evaluation may be very interesting.

I don't know honestly what's going to pop up along the way, but with MetaES we can get smart completion and better debugging experience in popular editors for sure, it just requires more work and care.

bartqk··on MetaES – JavaScript in JavaScript interpreter
or just `1..constructor` -> function Number().
bartqk··on MetaES – JavaScript in JavaScript interpreter
Yeah, much older project. Looks like it intereprets some kind of IR code, it's not the case in MetaES, it just executes AST. I don't know either if it allows interoperate with surrounding interpreter. MetaES interops native code on purpose.
bartqk··on MetaES – JavaScript in JavaScript interpreter
Thanks. Didn't heard of Higgs, but looks interesting. You could use JITting in MetaES as well, you have all information about execution during runtime, so why not? That was one of my ideas for demo, but this one is quite heavy ;)

Where's your language's website?

bartqk··on MetaES – JavaScript in JavaScript interpreter
MetaES was tested using test262. Passed most of the cases.

https://github.com/metaes/metaes - "MetaES was tested using test262 test suite. Runnable test suite is currently not added to the repository."

You're right about breakpoints while code is called by native functions. That's something that should be discussed more.

bartqk··on MetaES – JavaScript in JavaScript interpreter
nice trick. You can, but you can't reference `Number` directly, that's the point. `Number` is a part of standard library, so being in JS it's possible use hack that you've shown. But you won't find a reference to let's say `console`, because it's not a part of ECMAScript.
bartqk··on MetaES – JavaScript in JavaScript interpreter
Yep. But it went nowhere, as far I know.
bartqk··on MetaES – JavaScript in JavaScript interpreter
Yeah, it would be slower. But you could use some kind of JITting while the interpreter goes and create appropriate ES5 code. That's possible next step.
bartqk··on MetaES – JavaScript in JavaScript interpreter
It is very similar. But MetaES tries to be production ready and reliable. As far I rememember, tailspin wasn't metacircular, but just an interpreter that interprets some kind of bytecode created from JavaScript source.
bartqk··on MetaES – JavaScript in JavaScript interpreter
and thanks! ;)
bartqk··on MetaES – JavaScript in JavaScript interpreter
That's the plan, although it may take few weeks or months to create something solid :)
bartqk··on MetaES – JavaScript in JavaScript interpreter
Could be :) If you accept that it's slower. Benchmarks would show the difference.