Boa noite amigos!
Vimos no versículo de ontem a décima terceira parte da tradução de “A Formal Language for Analyzing Contracts”, hoje vemos a décima quarta.
right = [ when event “{” right “}” ]*
## visualize um “ponteiro de instruções” que
## segue aninhamento e eventos à medida que ocorrem.
## pode haver mais de um ponteiro de instrução
## se houver um “also [também]” ou dois eventos ocorrerem
## ao mesmo tempo, mas geralmente precisamos apenas pensar
## sobre um.
## uma cláusula está ativa ou inativa.
## quando uma cláusula when está ativa, ela está aguardando
## um evento ocorrer.
## quando o ponteiro da instrução está aninhado um when,
## when passa de inativo para espera.
## Uma série de when’s no mesmo nível
## todos esperam que qualquer um deles seja acionado.
## Quando recebe um evento lançado abaixo
## dele, ou ele se torna ativo. Então
## as cláusulas abaixo dele se tornam ativas até
## os when’s no nível abaixo. Os
## when’s naquele nível vão de inativo
## para espera
## design alternativo sendo considerado: continue de onde parou
## a menos que [tenha] um “terminate” explícito no when
right = functionPerformance
## especificação funcional de um
## serviço específico vai aqui
## function sig, pre-, post-conditions
obligation = throw event at [contract | right]
# gera um evento a ser capturado pelo contrato ou direito especificado.
# se contrato ou direito não for especificado, o primeiro when parente
# é acionado.
# semanticamente equivalente: Holder obligation = Counterparty right
obligation = surrenderTitle(property)
# transferir o título da propriedade do devedor para o credor
# consulte http://nakamotoinstitute.org/secure-property-titles/
obligation = null
obligation = [ when event “{” obligation “}” ]*
## design alternativo sendo considerado: continue de onde parou
##, a menos que [tenha] um “terminate” explícito no when
obligation = functionPerformance
## especificação funcional de um
## serviço específico vai aqui
## function sig, pre-, post-conditions
contract = agent [right | obligation] [“with” agent [right | obligation]]*
## “with” permite compor Titular e Contraparte
## direitos vs. um ao outro
contract = [ when event “{” contract “}” ]*
Fim da parte 14, seguimos com a parte 15 no versículo seguinte. Ricas bençãos!