Grace
A new object-oriented language for education
Largely conventional "curly bracket" syntax
More at
gracelang.org
What is a dialect?
Standard Prelude
ModuleA
def
factory =
object
method
new
object
ModuleB
SomeDialect
ModuleC
dialect
"SomeDialect"
Multi-part method names
Multi-part method names
Pluggable Checkers
DSL for Checkers
Example: Loop Invariants
Example: Finite State Machines
Example: Object Associations
Example: GrAPL
Example: Static Grace
Scratchpad