User:Michaelxu1988/sandbox

Amber Smalltalk, formerly known as Jtalk, is an implementation of the Smalltalk-80 language that runs on the JavaScript runtime of a web browser. It is designed to enable client-side development using the Smalltalk programming language.

Amber includes an integrated development environment with a class browser, workspace, transcript, object inspector and debugger. Amber is written in itself, including the compiler, and compiles into JavaScript, mapping one-to-one with the JavaScript equivalent. Amber was created by Nicolas Petton.

Amber was influenced by an earlier Smalltalk in browser project, called "Clamato", created by Avi Bryant. Both Amber and Clamato use Parsing Expression Grammar (PEG) libraries for parsing Smalltalk sourcecode. Amber uses the JavaScript based PEG.js library written by David Majda and Clamato uses PetitParser, a Smalltalk based library written by Lukas Renggli. Both Clamato and Amber were influenced by earlier work by Dan Ingalls in developing the  Lively Kernel implementation of Morphic in the web browser using JavaScript.

Started with version 0.12.0, Amber modules are compiled to AMD modules. Starting in version 0.12.6, the development helper CLI tool is extracted to dedicated module 'amber-cli', which can be installed from npm; and setting up the project and its JS ecosystem (bower, npm, grunt) is greatly simplified using this CLI tool by issuing 'amber init' and answering a few questions. This makes Amber Smalltalk easier to use for people coming from Smalltalk world having little JS experience. new text here