directly copied • many ways to do things vs one way (no aliases) • Compiled, no VM or bytecode to interpret • No eval or crazy meta-programming • Self-hosted (Crystal is written in Crystal)
compilation time • Used for minimal meta-programming and callbacks ◦ inherited (Class) ◦ included (Module) ◦ method_missing ◦ delegate ◦ setter/getter/property ◦ respond_to?