LittleSmallscript
Little Smalltalk
Smalltalk-80 to your terminal
http://smalltalk.org/versions/LittleSmalltalk.html
・Minimal
・Subset of Smalltalk-80 language
・No graphical VM
・Scopes of instance variables
・Cascade
・Class syntax (v5)
Slide 5
Slide 5 text
LittleSmallscript
Smalltalk-80
Dynamic Class-based Object Oriented Language
http://en.wikipedia.org/wiki/Smalltalk
・Graphical VM
・Many forks
・Squeak
・Pharo
・Visual Works ...
・Syntax
Object subclass:#Animal variables:#(#name).
!Animal setName: nm
name := nm
!.
!Animal move: metre
console log: name + ' moved ' + metre + 'm'
!.
Animal subclass:#Snake variables:#().
!Snake move
console log: 'Slithering...'.
Snake super:#move arguments:#(5)
!.
Snake new; setName:'Sammy the Python'; move
Slide 9
Slide 9 text
Feature
Slide 10
Slide 10 text
Feature
1. Syntax that is similar to Smalltalk's chunk
format
2. Use Javascript functions and methods
・forEach, $, Object#keys ...
3. Compiles into clean JavaScript
・Human readable
・Easy to fallback to native JS
Slide 11
Slide 11 text
Why LittleSmallscript?
Slide 12
Slide 12 text
No C
Slide 13
Slide 13 text
for (i = 0; i < 5; ++i) {
alert(i);
}
while (x < 5) {
--x
}
try {} catch (err) {err}
Slide 14
Slide 14 text
for (i = 0; i < 5; ++i) {
alert(i);
}
while (x < 5) {
--x
}
try {} catch (err) {err}