Slide 1

Slide 1 text

LittleSmallscript

Slide 2

Slide 2 text

Minori Yamashita

Slide 3

Slide 3 text

LittleSmallscript

Slide 4

Slide 4 text

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

Slide 6

Slide 6 text

LittleSmallscript Javascript Dynamic Prototype-based Object Oriented Language https://developer.mozilla.org/en-US/docs/JavaScript ・Web ・Server ・Mobile ・Everywhere ・Objects ・Libraries

Slide 7

Slide 7 text

Code

Slide 8

Slide 8 text

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}

Slide 15

Slide 15 text

(0 to:4) do:[:i| alert value:i ] [x < 5] whileTrue:[ x -= 1 ] [ ] tryCatch:[:err|err]

Slide 16

Slide 16 text

(0 to:4) do:[:i| alert value:i ] [x < 5] whileTrue:[ x -= 1 ] [ ] tryCatch:[:err|err]

Slide 17

Slide 17 text

Just self No self=this

Slide 18

Slide 18 text

Just !X y ...! No X.prototype.y

Slide 19

Slide 19 text

littlesmallscript --watch Compile in no time

Slide 20

Slide 20 text

LittleSmallscript

Slide 21

Slide 21 text

http://ympbyc.github.com/LittleSmallscript