fork download
  1. case class Address(street: String, city: String, zipcode: String)
  2. case class Person(name: String, address: Address)
  3. case class Account(owner: Person, entries: List[Int])
  4.  
  5. def balance(a: Account) = a.entries.sum
  6.  
  7. trait Sum[A] {
  8. def sum(a: A): Int
  9. }
  10.  
  11. def sum[A](a: A)(implicit summer: Sum[A]) = summer.sum(a)
  12.  
  13. implicit object AccountSum extends Sum[Account] {
  14. def sum(a: Account): Int = balance(a)
  15. }
  16.  
  17. val account = Account(Person("name", Address("streetname", "cityname", "10000")), List(2, 8, 32))
  18.  
  19. println(sum(account))
Compilation error #stdin compilation error #stdout 0s 0KB
stdin
Standard input is empty
compilation info
/opt/scala/bin/scalac: line 50: /dev/null: Permission denied
Main.scala:5: error: expected class or object definition
    def balance(a: Account) = a.entries.sum
    ^
Main.scala:11: error: expected class or object definition
    def sum[A](a: A)(implicit summer: Sum[A]) = summer.sum(a)
    ^
Main.scala:17: error: expected class or object definition
    val account = Account(Person("name", Address("streetname", "cityname", "10000")), List(2, 8, 32))
    ^
Main.scala:19: error: expected class or object definition
    println(sum(account))
    ^
four errors found
spoj: The program compiled successfully, but Main.class was not found.
      Class Main should contain method: def main(args: Array[String]).
stdout
Standard output is empty