Boa noite povo
Continuando a tradução de “A Formal Language for Analyzing Contracts” . No versículo último vimos a parte 14, no de hoje vemos a 15.
Funções Básicas
doOn(right, period) =
when withinPeriod(p) { right }
# deve executar “right [direito]” dentro de (period [período])
# = obrigação com cupom zero = cupom
#
doOnDemand(right) =
when choiceOf(Holder) { right }
# deve executar o “right [direito]” a qualquer momento / sob demanda
#
doOn(contract, period) =
when withinPeriod(p) { contract }
# deve executar “contract [contrato]” dentro de (period [período])
#
doOnDemand(contract) =
when choiceOf(Holder) { contract }
# deve executar “contract [contrato]” a qualquer momento / sob demanda
#
Mais Exemplos
future(rightA, rightB, p) =
Holder doOn(rightA, p) with Counterparty doOn(rightB, p)
#
# [restrição adicional p = p não é mera composição algébrica]
callOptionAmerican(rightA, rightB, t) =
when withinPeriod(whenWritten, t)
when choiceOf(Holder)
Holder rightA with Counterparty rightB
#
callOptionEuro(rightA, rightB, p) =
when choiceOf(Holder)
Holder doOn(rightA, p)
with Counterparty doOn(rightB, p))
#
putOptionAmerican(rightA,rightB,t) =
when withinPeriod(whenWritten, t)
when choiceOf(Holder)
Holder rightA with Counterparty rightB
# semântica de eventos precisa armazenar choiceOf até
# ao esperar o próximo when
putOptionEuro(rightA,rightB,p) =
when choiceOf(Holder)
Holder doOn(rightB, p)
with Counterparty doOn(rightA, p))
#
note(right) = demandDeposit(right) =
Holder doOnDemand(right)
# [distinção entre portador e titular da conta não
# foi introduzido]
#
zeroCouponBond(right,p) = doOn(right, p)
#
callableZeroCouponBond(right,p) =
when choiceOf(Holder) { right }
when withinPeriod(p) { right }
#
bond(coupon, principal, schedule) =
for schedule {
doOn(coupon, schedule.next)
} then
doOn(principal, schedule.next)
bond(coupon, principal, schedule) =
for schedule {
doOn(coupon, schedule.next)
} then
doOn(principal, schedule.next)
Terminada a parte 15. Se você tá achando os últimos versículos estranhos é porque são bem estranhos mesmo hahaha, o próximo já volta a ser mais “normal”. Abraços e até…