All +
All -
Getting Started with Scala
- Functional Programming
- Mars Rover
- Instructions to follow
- turn left
- turn right
- move without changing direction
- Find position after series of commands
- + -
Parking Lot Attendant
- Directs cars to appropriate lots
- Uses lot selection strategies
- First available
- Most capacity
- Most Free
- Cheapest
- + -
Domain Specific Languages
- Enablers
- Call by name parameters
- Structural typing
- Duck typing with type safety
- Implicits
- Internal
- ScalaTest
- Unified DSL for incosistent API
- Example
- string should have length (7)
array should have length (7)
document should have length (7)
- External
- Combinator parsing
- Use Internal DSL to create external DSL
- Pattern matching
- + -
Google code jam 2009 - Round1B - Problem A
- http://code.google.com/codejam/contest/dashboard?c=186264#
- Grammer
- Example
- + -
OOP
- Improvements
- Everything is object
- No statics
- Type inference
- Unified operators and methods
- Path dependant types
- Traits
- Minimal AOP example
- Multiple queue implementations
- Multiple stackable modifications
- On the fly combinations
- Abstract Types
- Quantities
- Contrast with parameterized version
- + -
More
- Functional programming
- Monads
- Design site generics
- DSL
- OOP
- DI
- Self types
- Java interoperability