certainly, after there's a better API for completions and evaluations created. Will be easy to write plugins then.
HN user
bartqk
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.
or just `1..constructor` -> function Number().
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.
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?
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.
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.
Yep. But it went nowhere, as far I know.
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.
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.
and thanks! ;)
That's the plan, although it may take few weeks or months to create something solid :)
Could be :) If you accept that it's slower. Benchmarks would show the difference.