Tengo dos funciones.Composable using scalaz Arrow?
def process(date: DateTime, invoice: Invoice, user: User, reference: Reference) : (Action, Iterable[Billable])
def applyDiscount(billable: Billable) : Billable
¿Cómo puedo componer éstos de modo que tenga una sola función del (DateTime, Factura, Usuario, de referencia) => (Acción, Iterable [facturable])
Aquí es la mala manera sirve de lo que quiero
def buildFromInvoice(user: User, order: Invoice, placementDate: DateTime, reference: Reference) = {
val ab = billableBuilder.fromInvoice(user, order, placementDate, reference)
(ab._1, ab._2.map(applyDiscount(_))
}
que quieren una función que primero ejecuta '' process' y luego applyDiscount'? –
Sí, exactamente. ¿Estas dos funciones se pueden componer usando la flecha de Scalaz y, de ser así, cuál es la sintaxis? – OleTraveler