data types

def to define objects
val final variables
var which can be changed...

http://jim-mcbeath.blogspot.com/2008/11/practical-church-numerals-in-scala.html
99 scala problems