Escopo :: Escape

Continuações de escape reificadas
Baixe Agora

Escopo :: Escape Classificação e resumo

Propaganda

  • Rating:
  • Licença:
  • Perl Artistic License
  • Preço:
  • FREE
  • Nome do editor:
  • Andrew Main
  • Site do editor:
  • http://search.cpan.org/~zefram/

Escopo :: Escape Tag


Escopo :: Escape Descrição

Continuações de escape reificadas Escopo :: Escape é um módulo Perl que fornece uma instalação generalizada para transferência de controle não local (salto entre quadros de pilha), com base na semântica bem pensada de Lisp comum. Ele fornece aos operadores que capturarão e reificaram a continuação da fuga (return) da estrutura atual da pilha. O quadro de pilha pode então ser devolvido de, em (quase) a qualquer momento, enquanto ainda existe, através da continuação reificada. Isso se aplica não apenas aos quadros de pilha de sub-rotina, mas também aos quadros intermediários para blocos de código e outros tipos de quadro de pilha. Esta instalação pode ser usada diretamente ou embrulhada para construir uma instalação mais estruturada. O sistema de continuações de escape reificadas é fundamentalmente diferente da instalação de exceção AVAL / DIRA nativa do Perl. Com morrer, o código que inicia a transferência não local não tem controle sobre onde irá. Cada quadro de Eval decide se quer agir como alvo da exceção lançada, mas deve tornar essa decisão baseada quase inteiramente no que foi registrado no objeto de exceção, porque as estruturas de pilha entre o dado e a eval já foram desenrolada por esse tempo. Com as continuações reificadas, no entanto, o código que inicia a transferência determina onde ele irá para (escolhendo a continuação de usar), e essa decisão pode ser feita com todas as informações sobre as circunstâncias ainda disponíveis. Uma continuação de escape reificada aparece em Perl como um objeto de função. Chamar a função resulta em retornar do quadro de pilha que é o alvo da continuação. Os valores passados para a função são retornados do quadro de pilha de destino. Opcionalmente, a continuação pode ser abençoada no escopo :: Escape :: Classe de continuação. Esta classe fornece uma interface baseada em método para a continuação: transferir através da continuação e consultar seu estado, pode ser realizada por chamadas de método no objeto de continuação. Os métodos também podem ser chamados diretamente, como funções, em funções de continuação desgressionadas.Synopsis Use escopo :: Escape QW (Current_escape_Function); $ escape = Current_escape_function; ... $ Fute -> ($ Result); Use o escopo :: Escape :: Continuação QW (Current_escape_Continuation); $ escape = Current_escape_Continuation; ... $ ESCAPE-> GO ($ Result); Requisitos: · Perl.


Escopo :: Escape Software Relacionado

fp.

Uma biblioteca para programação em um estilo funcional ...

190

Download