Amber is a self-contained Smalltalk implementation in JavaScript. It includes a Smalltalk-to-JavaScript compiler, inline calls to JavaScript functionality, and syntax to use JavaScript objects from within Smalltalk.
For performance reasons, Amber tries to use native JavaScript values where possible, making it necessary to implement considerable parts of the standard library in the compiler.