Domin Specific Language
OperatorTable addAssignOperator(":", "atPutNumber")
curlyBrackets := method(
r := Map clone
call message arguments foreach(arg,
r doMessage(arg)
)
r
)
Map atPutNumber := method(
self atPut(
call evalArgAt(0) asMutable removePrefix("\"") removeSuffix("\""),
call evalArgAt(1))
)
s := File with("phonebook.txt") openForReading contents
phoneNumbers := doString(s)
phoneNumbers keys
println
phoneNumbers values println
Method Missing
Builder := Object clone
Builder forward := method(
writeln("<", call message name, ">")
call message arguments foreach(
arg,
content := self doMessage(arg);
if(content type == "Sequence", writeln(content)))
writeln("</", call message name, ">"))
Builder ul(
li("Io"),
li("Lua"),
li("JavaScript")
)
Concurrency
- Coroutines
- Actors
- Futures
Assignment
Quiz
Read Day 1 - Scala