Your browser doesn't support the features required by impress.js, so you are presented with a simplified version of this presentation.
For the best experience please use the latest Chrome, Safari or Firefox browser.
Amber Smalltalk
toward a 1.0 release
What is Amber? #1
- An implementation of Smalltalk
- Runs on top of the JavaScript runtime
- Opensource (MIT)
What is Amber? #2
- Written in itself
- Full Smalltalk system
- Core libraries (streams, collections, etc)
- Web related libraries
- IDE
what changed since last year?
- Not (only) my playground anymore
- Github organisation
- Core team
5 team members
103 forks on github
452 Followers
2500 Commits
Installing Amber
$ npm install amber
The latest (and risky)
git clone git@github.com:amber-smalltalk/amber.git
Do not deploy
from master!
New features
New compiler, Collections improvements, new IDE, better Package management, AMD (requirejs),
AST interpreter, Stepping debugger, better CLI tools, lots of new tests.
The CLI
$ bin/amber serve
$ bin/amber repl
$ bin/amberc
Helios
require('amber/helpers').popupHelios();
The new compiler
- Inspired from Opal
- Better design
- Semantic analysis
- Better inlinings
- No more lookup
- Rely on JS prototype chain
The new compiler #2
foo
true ifTrue: [ ^ self ].
if(assert(true)) {
return self;
}
The new compiler #3
foo
a := true ifTrue: [ self ].
if(assert(true)) {
a := self;
}
The new compiler #4
- Proxies
- Non local returns
Athens on Amber
By Matthias Springer
SmalltalkHub and its stack
- Pharo
- Mongo/Voyage
- Zinc
- Seaside-REST
- Amber
Contributing?
- Travis
- Github
- Pull requests
- #amber-lang on freenode
- amber-lang Google group
amber-lang.net
Use a spacebar or arrow keys to navigate