Sha256: b96b66842c23a661b11acec9706689bfe6f562837738cc440d290caba8a1b9a0

Contents?: true

Size: 901 Bytes

Versions: 396

Compression:

Stored size: 901 Bytes

Contents

import java.time.LocalDate

object LensPerson {
  case class Person(_name: Name, _born: Born, _address: Address)

  case class Name(_foreNames: String /*Space separated*/ , _surName: String)

  // Value of java.time.LocalDate.toEpochDay
  type EpochDay = Long

  case class Born(_bornAt: Address, _bornOn: EpochDay)

  case class Address(_street: String, _houseNumber: Int,
    _place: String /*Village / city*/ , _country: String)

  // Valid values of Gregorian are those for which 'java.time.LocalDate.of'
  // returns a valid LocalDate.
  case class Gregorian(_year: Int, _month: Int, _dayOfMonth: Int)

  // Implement these.

  val bornStreet: Born => String = ???

  val setCurrentStreet: String => Person => Person = ???

  val setBirthMonth: Int => Person => Person = ???

  // Transform both birth and current street names.
  val renameStreets: (String => String) => Person => Person = ???
}

Version data entries

396 entries across 396 versions & 1 rubygems

Version Path
trackler-2.2.1.180 tracks/scala/exercises/lens-person/src/main/scala/LensPerson.scala
trackler-2.2.1.179 tracks/scala/exercises/lens-person/src/main/scala/LensPerson.scala
trackler-2.2.1.178 tracks/scala/exercises/lens-person/src/main/scala/LensPerson.scala
trackler-2.2.1.177 tracks/scala/exercises/lens-person/src/main/scala/LensPerson.scala
trackler-2.2.1.176 tracks/scala/exercises/lens-person/src/main/scala/LensPerson.scala
trackler-2.2.1.175 tracks/scala/exercises/lens-person/src/main/scala/LensPerson.scala
trackler-2.2.1.174 tracks/scala/exercises/lens-person/src/main/scala/LensPerson.scala
trackler-2.2.1.173 tracks/scala/exercises/lens-person/src/main/scala/LensPerson.scala
trackler-2.2.1.172 tracks/scala/exercises/lens-person/src/main/scala/LensPerson.scala
trackler-2.2.1.171 tracks/scala/exercises/lens-person/src/main/scala/LensPerson.scala
trackler-2.2.1.170 tracks/scala/exercises/lens-person/src/main/scala/LensPerson.scala
trackler-2.2.1.169 tracks/scala/exercises/lens-person/src/main/scala/LensPerson.scala
trackler-2.2.1.167 tracks/scala/exercises/lens-person/src/main/scala/LensPerson.scala
trackler-2.2.1.166 tracks/scala/exercises/lens-person/src/main/scala/LensPerson.scala
trackler-2.2.1.165 tracks/scala/exercises/lens-person/src/main/scala/LensPerson.scala
trackler-2.2.1.164 tracks/scala/exercises/lens-person/src/main/scala/LensPerson.scala
trackler-2.2.1.163 tracks/scala/exercises/lens-person/src/main/scala/LensPerson.scala
trackler-2.2.1.162 tracks/scala/exercises/lens-person/src/main/scala/LensPerson.scala
trackler-2.2.1.161 tracks/scala/exercises/lens-person/src/main/scala/LensPerson.scala
trackler-2.2.1.160 tracks/scala/exercises/lens-person/src/main/scala/LensPerson.scala